草庐IT

08:说一下 CommonJS、AMD 和 CMD

全部标签

javascript - 是否有将 CommonJS 模块编译成单个 .js 文件的工具?

是否有任何工具可以将使用CommonJS/Node-like模块(require、exports等)编写的模块编译成单个.js文件以提供服务到浏览器? 最佳答案 听起来您正在寻找Browserify:https://github.com/substack/node-browserify"Makenode-stylerequire()workinthebrowserwithaserver-sidebuildstep,asifbymagic!" 关于javascript-是否有将Common

javascript - Closure Compiler 可以构建 CommonJS 模块吗

我想使用GoogleClosureCompiler构建一组CommonJS模块。这可以开箱即用吗?或者,是否可以对CommonJS模块进行一些简单的转换,以允许ClosureCompiler使用它们? 最佳答案 已向ClosureCompiler添加支持,使其更易于使用CommonJS和AMD/require.js使用以下编译器标志的模块:--transform_amd_modules--process_common_js_modules--common_js_entry_module--common_js_module_path_

javascript - 了解一下 ember/ember-data 对象的生命周期如何。或者调试 Ember.js 和 Ember-Data 的技巧/提示?

我不是在寻找如何调试javascript。我对手头的工具非常熟悉,尽管不熟悉Firefox的新调试功能,因为他们构建了自己的“firebug”。我真的只是在寻找一种简单的方法来读取堆栈跟踪,因为对象/函数很容易通过Ember自己的调用机制运行。很容易忘记被调用的函数是什么以及它附加到的this的绑定(bind)。有没有人在调试ember的堆栈时想到了任何技巧或肺炎?更新:这不是异步调试的问题http://www.html5rocks.com/en/tutorials/developertools/async-call-stack/ 最佳答案

javascript - 打包具有依赖项的浏览器/服务器 CommonJS 模块

假设我正在用JavaScript编写一个模块,它可以在浏览器和服务器(使用Node)上使用。让我们称之为模块。假设Module将受益于另一个名为Dependancy的模块中的方法。这两个模块都被编写为供浏览器和服务器使用,就像CommonJS风格:module.jsif(typeofmodule!=='undefined'&&module.exports)module.exports=Module;/*server*/elsethis.Module=Module;/*browser*/dependancy.jsif(typeofmodule!=='undefined'&&module.

javascript - 使用 require.js 将 jQuery、Underscore 和 Backbone 包含为 AMD 模块的最佳方法是什么?

我见过许多不支持AMD的加载模块变体但是,我想知道这样做的最佳做法是什么。最终,我想编写这样的模块:module.js:define(["jQuery","Underscore","Backbone"],function($,_,Backbone){...modulecodehere}但是使用AMD加载这些依赖项存在很多问题,因为它们并非都与AMD兼容。 最佳答案 我创建了一个待办事项列表样板Web应用程序,它将所有模块加载为AMD模块(没有加载程序)。检查一下:https://github.com/ronreiter/webapp

javascript - 哪些脚本加载器(AMD 或非 AMD)与 Backbone.js/Underscore 一起使用?

一个星期以来,我开始学习如何将require.js与Backbone.js和Underscore.js一起使用。这是一个非常困难的东西,但3天前我读到Underscore将不再支持Require.js(AMD)了!现在我有点困惑。我非常喜欢脚本加载器的概念,不想错过它!有人已经成功地将脚本加载器与Backbone.js(0.5.3)和Underscore(1.3.0)一起使用了吗?谢谢你的帮助!链接:另一个解决方案here 最佳答案 我目前在我的Backbone样板中使用下划线1.3和Backbone0.5.3。你可以看到我在那里做

javascript - 你能帮忙澄清一下Javascript原型(prototype)继承方法调用吗?

在这段代码中:varFruit=function(){}Fruit.prototype={color:function(){console.log('Fruitcolor...')}}varApple=function(){}Apple.prototype=newFruit()Apple.prototype.constructor=Applevara=newApple()Apple.prototype=null//thequestion!!!a.color()当Apple.prototype被设置为null时,为什么实例a仍然可以调用color方法? 最佳答

javascript - 最小的 CommonJS 实现

我想在我的一些脚本中使用一些CommonJS兼容模块。这些脚本只是为了在我的笔记本电脑上做一些事情:它不在浏览器中,也不在服务器中。我只是操作一个我在本地使用的mongodb。所以我想知道,最好的方法是什么?我只发现过时的包装器可以提供CommonJS功能和mongoshell。我应该手动编写一个require系统吗?我应该手写解决方法吗?是否已经存在最小加载程序?当然,您对此事的所有想法都会受到赞赏。对于实现CommonJS其他部分的指针也将不胜感激。 最佳答案 @莫格你应该试试http://code.google.com/p/g

javascript - 在 typescript commonjs 中导入 jquery 和 bootstrap

我正在使用browserify导入一些nodejs模块。使用此语法一切正常:$=jQuery=require('jquery');require('bootstrap');require('angular');require('ngRoute');require('firebase');require('angularfire');现在我正在尝试将其转换为typescript(使用1.8版),但我不知道该怎么做。我正在使用来自browserify的tsify插件我试过一些像这样的语法import*asjqueryfrom"jquery";import*asjQueryfrom"jque

javascript - 我在网上找到这个 "[\\?&]v=([^&#]*)"谁能给我解释一下

我在互联网上找到了一种方法,可以从url中检索youtube视频的Id。就是这样。varvid;varresults;results=url.match("[\\?&]v=([^&#]*)");vid=(results===null)?url:results[1];Id将包含在“vid”中。我不明白,我觉得有趣,想知道的是这个。results=url.match("[\\?&]v=([^&#]*)");它是如何工作的? 最佳答案 它正在使用regularexpression从完整的URL中提取视频的ID。这个特定的正则表达式分解如下